/cody/pratham0709/Striver-A-TO-Z-SDE-SHEET/Binary%20Search/BS%20on%201D%20Arrays/Single%20Elements%20in%20Sorted%20Array.cpp
class Solution {public:  int singleNonDuplicate(vector<int>& nums) {  int n = nums.size();	if(n == 1) return nums[0];	if(nums[0] != nums[1]) return nums[0];	if(nums[n-1] != nums[n-2]) return nums[n-1];
	int start = 1,  end = n-2;
	while(start<=end){		int mid = start + (end - start) /2;		if(nums[mid]!=nums[mid-1] && nums[mid] != nums[mid + 1]){			return nums[mid];		}		// left part 		if((mid % 2 ==1 && nums[mid]==nums[mid-1]) || (mid % 2 == 0 && nums[mid] == nums[mid+1])){			start = mid +1;		}		else{			end = mid -1;		}	}	return -1;}  };